package CapaLogica;
import CapaDatos.*;
import CapaGrafica.ventanaPago;
import javax.swing.JCheckBox;
import javax.swing.JTextField;
import javax.swing.JOptionPane;


/**
 *
 * @author Usuario
 */
public class ComunicaPago {

     static ListaFormaDePago losPagos = new ListaFormaDePago ();
/**
 *
 * @return el costo a pagar por el cliente
 */
    public static ListaFormaDePago getLosPagos() {
        return losPagos;
    }

    /**
     * firma que evalua si se ha pagado el pago total por medio del cheque
     * @param numCheque numero del cheque
     * @param nombreBanco nombre del banco
     * @param montoIngresado el monto a pagar
     * @param montoTotal el monto total a pagar
     * @return TRUE, si se pago el completo, FALSE si todavia falta dinero por pagar
     */
    public boolean esPagoCompletoCheque(JTextField numCheque, JTextField nombreBanco, double montoIngresado, double montoTotal)
    {

       if(montoIngresado >= montoTotal){
           Cheque elCheque = new Cheque(montoTotal,nombreBanco.getText(),numCheque.getText());
           losPagos.agregarCheque(elCheque);
           return true;
       }
       else
         if (montoIngresado < montoTotal)
         {
             Double montoaux = montoTotal - montoIngresado;
             Cheque elCheque = new Cheque(montoIngresado,nombreBanco.getText(),numCheque.getText());
             losPagos.agregarCheque(elCheque);
             JOptionPane.showMessageDialog(null,"Faltan "+ montoaux + "$.");
             ventanaPago nuevoPago = new ventanaPago();
             nuevoPago.setMonto(montoaux);
             nuevoPago.setVisible(true);
             return false;
         }

      return false;
    }

    /**
     * firma que verifica si todos los campos del cheque estan introducidos
     * @param numCheque numero del cheque
     * @param banco nombre del banco
     * @param monto el monto a pagar
     * @return TRUE si todos estan introducidos, FALSE si falta alguno por introducir
     */

  public boolean validarDatosCheque(JTextField numCheque,JTextField banco, JTextField monto)
    {
        if(numCheque.getText().equals("") || banco.getText().equals("") || monto.getText().equals(""))
            return false;   //falta algun dato en un TextField

        else
            return true;  //Los datos del cheque estan completos
    }

  /**
   * firma que evalua si se pago el monto total por medio de la tarjeta
   * @param numTarjeta el numero de la tarjeta
   * @param montoIngresado el monto que introdujo el usuario
   * @param montoTotal el monto total a pagar
   * @param nombreBanco el nombre del banco
   * @param tipoTarjeta el tipo de tarjeta (debito/credito)
   * @return TRUE, si se pago el monto total con la tarjeta - FALSE falta dinero por pagar
   */

    public boolean esPagoCompletoTarjeta(JTextField numTarjeta, double montoIngresado, double montoTotal, JTextField nombreBanco, String tipoTarjeta)
    {
       if(montoIngresado >= montoTotal){
           Tarjeta laTarjeta = new Tarjeta(montoTotal,nombreBanco.getText(),numTarjeta.getText(),tipoTarjeta);
           losPagos.agregarTarjeta(laTarjeta);
           return true;
       }
       else
         if (montoIngresado < montoTotal)
         {
             Double montoaux = montoTotal - montoIngresado;
             Tarjeta laTarjeta = new Tarjeta(montoIngresado,nombreBanco.getText(),numTarjeta.getText(),tipoTarjeta);
             losPagos.agregarTarjeta(laTarjeta);
             JOptionPane.showMessageDialog(null,"Faltan "+ montoaux + "$.");
             ventanaPago nuevoPago = new ventanaPago();
             nuevoPago.setMonto(montoaux);
             nuevoPago.setVisible(true);
             return false;
         }

      return false;
    }

   /**
    * firma que verifica que todos los campos de la tarjeta esten introducidos
    * @param numTarjeta numero de la tarjeta
    * @param banco nombre del banco
    * @param monto monto introducido por el usuario
    * @return TRUE si todos los campos estan introducido, FALSE si falta alguno por introducir
    */

      public boolean validarDatosTarjeta(JTextField numTarjeta, JTextField banco, JTextField monto)
    {
        if(numTarjeta.getText().equals("") || banco.getText().equals("") || monto.getText().equals(""))
            return false;   //falta algun dato en un TextField

        else
            return true;  //Los datos del cheque estan completos
    }

}

